home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Light ROM 1
/
LIGHT-ROM 1 (Amiga Library Services)(1994).iso
/
ffdisks
/
d883.lha
/
BBBBS
/
BBBBS59.lha
/
rexx
/
ArcAlpha.rexx
< prev
next >
Wrap
OS/2 REXX Batch file
|
1992-10-31
|
4KB
|
145 lines
/* $VER: 5.7 ArcAlpha.rexx 31 Oct 1992 (31.10.92)
archives user defined alphafilelist into file in users email
it receives its arguments from rexxDoors/Make_BrowseList.rexx
copyright 1991-92 Richard Lee Stockton FREELY DISTRIBUTABLE
*/
SIGNAL ON ERROR
SIGNAL ON SYNTAX
OPTIONS FAILAT 999999
PARSE ARG name lastbrowse numlist
lastbrowse=STRIP(lastbrowse)
IF ~DATATYPE(lastbrowse,'N') | name='' | numlist='' THEN
CALL GETOUT(20)
figarg='s:CONFIG.BBS'
IF ~EXISTS(figarg) THEN figarg='BBS:BBS_TEXT/CONFIG.BBS'
x=OPEN(f,figarg,'R')
IF x=0 THEN
DO
SAY 's:CONFIG.BBS and BBS:BBS/CONFIG.BBS are both missing!'
CALL GETOUT(21)
END
lynes.=''
DO i=1 TO 33
lynes.i=READLN(f)
END
CALL CLOSE(f)
compos=POS('/*',lynes.1)
IF compos>0 THEN lynes.1=LEFT(lynes.1,compos-1)
bbsname = STRIP(lynes.1)
sysop = WORD(lynes.2,1)
bbspath = WORD(lynes.6,1)
IF ~EXISTS(bbspath) THEN
DO
SAY bbspath 'does not exist!'
CALL SETCLIP('BBS_BROWSE')
CALL GETOUT(22)
END
testchar=RIGHT(bbspath,1)
IF testchar~='/' & testchar~=':' THEN bbspath=bbspath'/'
CALL PRAGMA('P',-4) /* lower the priority of this task */
extension=WORD(lynes.32,1)
arccom=lynes.33
compos=POS('/*',lynes.33)
IF compos>0 THEN lynes.33=LEFT(lynes.33,compos-1)
arccom=STRIP(lynes.33)
IF LEFT(extension,1)~='.' THEN
DO
extension='.lzh'
arccom='lharc -m m'
END
filepath=bbspath'EmailFiles/'name
CALL MAKEDIR(filepath)
x=OPEN(f,bbspath'Numbers/LastMail','R')
IF x~=0 THEN lastm=READLN(f)+1
CALL CLOSE(f)
ADDRESS COMMAND 'ECHO >'bbspath'Numbers/LastMail 'lastm
alphaname=filepath'/BBBBS_'lastm
alphalist.=''
x=OPEN(f,bbspath'Lists/Files.ALPHA','R')
IF x=0 THEN CALL GETOUT(24)
DO i=1
line=READLN(f)
IF EOF(f) THEN LEAVE i
alphalist.i=line
END
alphalist.0=i-1
CALL CLOSE(f)
numba=alphalist.0
x=OPEN(a,alphaname,'W')
IF x=0 THEN CALL GETOUT(25)
title='=' bbsname 'single line, alphabetical file descriptions'
CALL WRITELN(a,title)
CALL WRITELN(a,'= Custom archived for' name' 'DATE() TIME('C'))
CALL WRITELN(a,'')
CALL WRITELN(a,'Filename Bytes File# Library KeyWords')
CALL WRITELN(a,LEFT('=',77,'='))
CALL CLOSE(a)
x=OPEN(f,bbspath'Email/'name'/BBBBS.'lastm,'W')
IF x=0 THEN CALL GETOUT(28)
CALL WRITELN(f,' Mail: 'lastm' FILE: BBBBS_'lastm)
CALL WRITELN(f,' From: BBBBS')
CALL WRITELN(f,' To: 'name)
CALL WRITELN(f,' Subj: AlphaList')
CALL WRITELN(f,' Date: 'DATE('W') DATE() TIME('C'))
CALL WRITELN(f,LEFT('=',75,'='))
CALL WRITELN(f,'Here are the single line file descriptions you requested.')
CALL WRITELN(f,'The collection process was interrupted.')
CALL CLOSE(f)
DO j=1 TO alphalist.0
IF WORD(alphalist.j,3)<=lastbrowse THEN ITERATE j
IF FIND(numlist,WORD(alphalist.j,4))=0 THEN ITERATE j
x=OPEN(a,alphaname,'A')
IF x=0 THEN ITERATE j
CALL WRITELN(a,alphalist.j)
CALL CLOSE(a)
END
IF WORD(STATEF(alphaname),2)<40 THEN CALL GETOUT(26)
CALL PRAGMA('P',0) /* normal priority */
ADDRESS COMMAND arccom alphaname||extension alphaname
IF ~EXISTS(alphaname||extension) THEN CALL GETOUT(27)
x=OPEN(f,bbspath'Email/'name'/BBBBS.'lastm,'W')
IF x=0 THEN CALL GETOUT(28)
CALL WRITELN(f,' Mail: 'lastm' FILE: BBBBS_'lastm||extension)
CALL WRITELN(f,' From: BBBBS')
CALL WRITELN(f,' To: 'name)
CALL WRITELN(f,' Subj: AlphaList')
CALL WRITELN(f,' Date: 'DATE('W') DATE() TIME('C'))
CALL WRITELN(f,LEFT('=',75,'='))
CALL WRITELN(f,'Here are the single line file descriptions you requested.')
CALL CLOSE(f)
IF GETCLIP('BBS_level')~='' & WORD(GETCLIP('BBS_lastcaller'),1)=name THEN
DO
oldmess=GETCLIP('BBS_MESSAGE')
IF oldmess~='' THEN oldmess=oldmess||'0D0A'x
CALL SETCLIP('BBS_MESSAGE',oldmess||'Your archived alphabetical filelist is waiting in Email.')
END
CALL GETOUT(0)
EXIT
ERROR:
SYNTAX:
GETOUT:
ARG errorout
CALL SETCLIP('BBS_BROWSE')
IF errorout>0 THEN SAY 'ArcAlpha error' errorout'!'
EXIT(errorout)
/* end of ArcAlpha.rexx */